using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("SpellState")]
	public class SpellState : MonoBehaviour
	{
		public SpellStateType m_StateType => method_2<SpellStateType>("m_StateType");

		public float m_StartDelaySec => method_2<float>("m_StartDelaySec");

		public List<SpellStateAnimObject> m_ExternalAnimatedObjects => method_3<Class271<SpellStateAnimObject>>("m_ExternalAnimatedObjects")?.method_25();

		public List<SpellStateAudioSource> m_AudioSources => method_3<Class271<SpellStateAudioSource>>("m_AudioSources")?.method_25();

		public Spell m_spell => method_3<Spell>("m_spell");

		public bool m_playing => method_2<bool>("m_playing");

		public bool m_initialized => method_2<bool>("m_initialized");

		public bool m_shown => method_2<bool>("m_shown");

		public SpellState(IntPtr address, string className)
			: base(address, className)
		{
		}

		public SpellState(IntPtr address)
			: this(address, "SpellState")
		{
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Play()
		{
			method_8("Play");
		}

		public void ShowState()
		{
			method_8("ShowState");
		}

		public void HideState()
		{
			method_8("HideState");
		}

		public void OnLoad()
		{
			method_8("OnLoad");
		}

		public void OnStateFinished()
		{
			method_8("OnStateFinished");
		}

		public void OnSpellFinished()
		{
			method_8("OnSpellFinished");
		}

		public void OnChangeState(SpellStateType stateType)
		{
			method_8("OnChangeState", stateType);
		}

		public void PlayImpl()
		{
			method_8("PlayImpl");
		}

		public void PlayNow()
		{
			method_8("PlayNow");
		}
	}
}
